package qnb._common.tools;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

public class IOTool {

	/**
	 * 【一次性】把文件读到内存
	 * 
	 * @param filepath 文件真实路径
	 * @return byte[]
	 */
	public static byte[] readFile(String filepath) {
		InputStream in = null;
		try {
			in = new FileInputStream(filepath);// 开辟一个输入流
			byte[] b = new byte[in.available()];// 准备一个字节数组 装文件
			in.read(b);// 把文件读到数组来
			return b;// 返回数组
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			if (null != in) {
				try {
					in.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
		return null;
	}

	/**
	 * 把字节，输出到指定文件上
	 * 
	 * @param b 字节数组
	 * @param filepath 文件真实路径
	 */
	public static void writeFile(byte[] b, String filepath) {
		OutputStream out = null;
		try {
			out = new FileOutputStream(filepath);// 开辟一个输出流
			out.write(b);// 把字节，写到filepath 文件中
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			if (null != out) {
				try {
					out.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
	}
}
